package com.shujia.day07.canshu;

public class Code10ParameterOperator {
    public static void main(String[] args) {
        /*
            形式参数：
                基本类型：
                    当你看到方法的参数是基本类型时，在调用方法时可以直接传入一个具体的值
                引用类型：
                    类：当你看到的参数是一个类时，那么就需要传入该类的对象进行做方法的调用
                    抽象类：当你看到的参数时一个抽象类时，那么可以使用其子类对象进行做参数的传递
                    接口：当遇到一个接口作为参数类型时，可以将接口的子实现类的对象进行传递。

            做方法调用时，看对应的参数，需要什么就给什么
         */

        // 多态的应用

//        Student3 student3 = new Student3();
//        Learn student3 = ;
        new StudentOperator().useFunction(new Student3());

    }
}

interface Learn {
    void learnFunction();
}


class Student3 implements Learn {

    @Override
    public void learnFunction() {
        System.out.println("学生爱学习...");
    }

}


class StudentOperator{

    public void useFunction(Learn learn){

        learn.learnFunction();
    }
}


